package com.toubutu.audio.service;

import com.toubutu.audio.admin.dto.CategoryDto;
import com.toubutu.audio.admin.vo.VideoCategoryTreeVo;
import com.toubutu.audio.entity.VideoCategory;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 戒躁
 * @since 2024-01-10
 */
public interface VideoCategoryService extends IService<VideoCategory> {
    /**
     * 获取视频分类树形结构
     * @return 视频分类树
     */
    List<VideoCategoryTreeVo> getVideoCategoryTree();

    /**
     * 获取视频分类id
     * @param categoryId 视频分类id
     * @return videoCategory
     */
    VideoCategory getVideoCategoryInfo(Integer categoryId);

    List<VideoCategory> getAllParentCategoryList();

    List<VideoCategory> getChildrenCategoryList(Integer parentId);
    /**
     * 批量删除分类
     * @param ids 分类id
     */
    void batchDeleteCategory(List<Integer> ids);

    /**
     * 新增分类
     * @param categoryDto 分类信息
     */
    void addCategory(CategoryDto categoryDto);

    /**
     * 修改分类
     * @param categoryDto 分类信息
     */
    void updateCategoryById(CategoryDto categoryDto);

    Map<Integer,VideoCategory> getCategoryMapInfo(List<Integer> categoryIds);


}
